package com.yuyou.fn.educational.service;

import com.github.wens.framework.service.ISuperService;
import com.github.wens.mybatisplus.plugins.Page;
import com.yuyou.fn.educational.entity.AttendClassLecture;
import com.yuyou.fn.educational.vo.AttendClassLectureQueryVo;
import com.yuyou.fn.educational.vo.AttendWarningQueryVo;
import com.yuyou.fn.educational.vo.AttendWarningVo;
import com.yuyou.fn.platform.permission.DataPermission;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

import java.util.Date;
import java.util.List;

/**
 *
 * AttendClassLecture 表数据服务层接口
 *
 */
public interface IAttendClassLectureService extends ISuperService<AttendClassLecture,String> {


    Page<AttendClassLecture> findAttendClassLectureByQuery(AttendClassLectureQueryVo attendClassLectureQueryVo, DataPermission dataPermission, int pageNo, int pageSize);


    List<AttendWarningVo> findAttendWarningList(AttendWarningQueryVo attendWarningQueryVo,  String nowTime, int begin, int limit);

    Page<AttendWarningVo> findAttendWarningPage(AttendWarningQueryVo attendWarningQueryVo,String nowTime,int pageNo,int pageSize);

    Integer countAttendWarning(AttendWarningQueryVo attendWarningQueryVo,String nowTime);

    SXSSFWorkbook exportAttendWarningByQuery(AttendWarningQueryVo attendWarningQueryVo, String nowTime );

    List<AttendClassLecture> findAttendClassLectureListByQuery(AttendClassLectureQueryVo attendClassLectureQueryVo);

    /**
     *@Description: 根据权限期数上课日期获取上课时间
     *@Param: periodId:期数id，startClassDate：上课开始时间，endClassDate:上课结束时间
     *@return:
     *@Author: lzh
     *@date:
     */
    List<String> findClassTimeByPeriodDate(DataPermission dataPermission, Long periodId, Date startClassDate,Date endClassDate);

}